/*******************************************************************************
*  file    : moletask.hpp
*  created : 26.08.2013
*  author  :
*******************************************************************************/

#ifndef MOLETASK_HPP
#define MOLETASK_HPP

#include <utils_global.hpp>
#include <QDateTime>

class SHARED_EXPORT MoleTask
{
public:
    MoleTask();
    int       id             () const;
    void      setId          (int id);
    int       status         () const;
    void      setStatus      (int status);
    int       ansver         () const;
    void      setAnsver      (int ansver);
    QDateTime startTime      () const;
    void      setStartTime   (const QDateTime &start_time);
    QString   requestText    () const;
    void      setRequestText (const QString &request_text);
    QString   requestNum     () const;
    void      setRequestNum  (const QString &requestnum);

    int       requestDevId   () const;
    void      setRequestDevId(int request_dev_id);

    QString   toString       () const;

    bool operator==(const MoleTask& other) const;
    bool operator!=(const MoleTask& other) const;

protected:
    int       id_;               ///<< Id записи
    int       request_;          ///<< id запроса (SMS)
    int       status_;           ///<< Статус запроса
    int       ansver_;           ///<< Id ответа (если есть ответ)
    QDateTime start_time_;       ///<< Время постановки в очередь

    int       request_dev_id_;   ///<< Id девайса в таблице девайсов
    QString   request_num_;      ///<< номер телефона
    QString   request_text_;     ///<< текст запроса
private:
    friend class ModemManager;
};

#endif // MOLETASK_HPP
